import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*

testCase="DBshop003_货到付款流程"
# 调用action.py中打开网页函数
firefox=openBrowser(url)
#openBrowser在action.py中； url在testData.py中
# 调用business.py中的登录函数
DBshopLogin(firefox,userName,password)
#1.在首页的搜索框输入小米
firefox.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')
#2.点击搜索按钮
firefox.find_element_by_xpath('//input[@type="submit"]').click()
#3. 点击商品图片跳转
firefox.find_element_by_xpath('//a[@href="/dbshop/goods/8/2"]').click()
#调用函数切换页面
switchWindow(firefox,2)
#4.在新页面中点击加入购物车按钮
firefox.find_element_by_id('add_cart_submit').click()
time.sleep(2)
#5.点击去购物车结算按钮
firefox.find_element_by_link_text('去购物车结算').click()
# 6.点击"去结算"按钮
firefox.find_element_by_link_text('去结算').click()
# 7.默认地址已经被选择,点击下一步按钮
firefox.find_element_by_xpath('//input[@value="下一步"]').click()
firefox.find_element_by_xpath("//input[@value='hdfk']").click()
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
#使用变量orderNO存储订单编号
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
rootPath=get_pro_rootpath()
writeFile(rootPath+'\public\order1.txt',orderNO) # 将订单编号写入到文件中


# 11.打开后台网址
firefox=openBrowser(urlAdmin)
# 12.登录管理员账号
DBshopLoginAdmin(firefox)
#13.调用二级目录函数 点击销售管理-订单管理
DBshopEnterMenu2(firefox,"销售管理","订单管理")
time.sleep(10)
# 14.订单号输入框输入前面保存的订单号
firefox.find_element_by_name('order_sn').send_keys(orderNO)
#15. 点击搜索
firefox.find_element_by_xpath("//button[@class='btn btn-small btn-primary']").click()
# 16.点击 编辑查看
firefox.find_element_by_link_text("编辑查看").click()
 # 17.点击 发货操作
firefox.find_element_by_link_text("发货操作").click()
#18. 填入快递单号
firefox.find_element_by_id("express_number").send_keys("123")
#19. 填入操作说明
firefox.find_element_by_id("state_info").send_keys("说明")
# 20.点击  点击发货
firefox.find_element_by_xpath("//button[@class='btn btn-small btn-primary']").click()
#付款操作
firefox.find_element_by_link_text("付款操作").click()
#下拉框选择
firefox.find_element_by_id("pay_state").click()
firefox.find_element_by_xpath("//option[@value='20']").click()
#提交保存
firefox.find_element_by_xpath("//button").click()


# 前台登录
firefox=openBrowser(url)
DBshopLogin(firefox,userName,password)
# 我的订单
firefox.find_element_by_link_text("我的订单").click()
# 点击已发货
firefox.find_element_by_xpath("//a[text()='已发货']").click()
# 搜索订单号
firefox.find_element_by_name("search_order_sn").send_keys(orderNO)
firefox.find_element_by_xpath("//button[text()='搜索']").click()
# 确认收货
firefox.find_element_by_xpath("//button[text()='确认收货']").click()
firefox.find_element_by_xpath('//button[@type="submit"]').click()
firefox.switch_to.alert.accept()
# 交易完成
firefox.find_element_by_partial_link_text('交易完成').click()
firefox.find_element_by_name('search_order_sn').send_keys(orderNO)
firefox.find_element_by_xpath('//button').click()
#断言
try:
    firefox.find_element_by_link_text(orderNO).is_displayed()  #is_displayed()函数判断元素是否显示
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)








